home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 11 / FM Towns Free Software Collection 11.iso / t_os / game / pr / src / pad.h < prev    next >
Text File  |  1995-04-02  |  1KB  |  60 lines

  1. //
  2. //    PAD使用サンプルプログラム
  3. //
  4. //#include    <stdio.h>
  5.  
  6. //    PAD関連IO
  7. #define    PAD1IN    0x04d0
  8. #define    PAD2IN    0x04d2
  9. #define    PADOUT    0x04d6
  10.  
  11. //    for COM
  12. #define    COM0    0x0f
  13. #define    COM1    0x3f
  14. #define    COMIN    0x40
  15.  
  16. //    PAD情報処理用
  17. #define    PUSH(ptn)    ((pad&(ptn))==0)
  18.  
  19. #define    PADU    0x01
  20. #define    PADD    0x02
  21. #define    PADL    0x04
  22. #define    PADR    0x08
  23. #define    PADA    0x10
  24. #define    PADB    0x20
  25. #define    PADRUN    0x0c
  26. #define    PADSEL    0x03
  27.  
  28. /*============  以下 使用例  ===============
  29. void    main()
  30. {
  31.     char    pad;
  32.     while(1){
  33.         printf("押しているボタン :");
  34.  
  35.         //    COM <- 0
  36.         do{
  37.             _outb(PADOUT,COM0);
  38.         }while ((_inb(PAD1IN)&COMIN)!=0);
  39.         pad=_inb(PAD1IN);
  40.         if(PUSH(PADSEL)){
  41.             printf(" Select");
  42.         }else {
  43.             if(PUSH(PADU))    printf(" UP");
  44.             if(PUSH(PADD))    printf(" DOWN");
  45.         }
  46.         if(PUSH(PADRUN)){
  47.             printf(" RUN");
  48.         }else {
  49.             if(PUSH(PADL))    printf(" LEFT");
  50.             if(PUSH(PADR))    printf(" RIGHT");
  51.         }
  52.         if(PUSH(PADA))    printf(" A");
  53.         if(PUSH(PADB))    printf(" B");
  54.  
  55.         putchar('\n');
  56.         if(PUSH(PADA+PADB))    break;
  57.     }
  58. }
  59. =================================================*/
  60.